home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 July
/
EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso
/
earcd
/
dev
/
amos
/
moreusel.lha
/
Texter.AMOS
/
Texter.amosSourceCode
< prev
Wrap
AMOS Source Code
|
1997-04-18
|
5KB
|
140 lines
Screen Open 1,640,20,2,$8000
Curs Off : Palette 0,$FFF : Cls 0
Print "F1-Col0 F2-Col1 F3-Col2 F4-Col3 F5-Pap0 F6-Pap1 F7-Pap2 F8-Pap3 F9-Paus F0-Wait"
Print "F1-Spe1 F2-Spe2 F3-Spe3 F4-Spe4 F5-Clrs F6-Test F7-Load F8-Save F9 Kill F0-Exit";
Screen Display 1,,33,,
Screen Open 0,320,256,4,0
Screen Display 0,,50,,
Curs Off : Pen 1 : Paper 0 : Cls : Hide
'Flash 17,"(FFF,6)(EEE,3)(DDD,3)(CCC,3)(BBB,3)(AAA,3)(999,3)(888,6)(999,3)(AAA,3)(BBB,3)(CCC,3)(DDD,3)(EEE,3)"
X=0 : Y=0 : A$="" : C=1 : W=4 : P=0
Sprite 1,X*8+128,Y*8+50,1
Def Scroll 1,0,0 To 320,256,0,-2
Palette 0,$FFF,$F0
Do
Repeat
I$=Inkey$ : S=Scancode : K=Key Shift : Colour 17,Colour(P) : Colour 18,Colour(C)
Until S<>0
If Asc(I$)<>0 Then A$=A$+I$
If I$=>" " Then Locate X,Y : Paper P : Pen C : Print I$; : Inc X
If Asc(I$)=8 Then Locate X,Y : Paper P : Print " "; : Dec X
If Asc(I$)=13 Then X=0 : Inc Y
If I$=Cup$ and Y>0 Then Dec Y
If I$=Cdown$ Then Inc Y
If I$=Cleft$ Then Dec X
If I$=Cright$ Then Inc X
If S=80 and K=0 and C<>0 Then C=0 : A$=A$+Chr$(0)
If S=81 and K=0 and C<>1 Then C=1 : A$=A$+Chr$(1)
If S=82 and K=0 and C<>2 Then C=2 : A$=A$+Chr$(2)
If S=83 and K=0 and C<>3 Then C=3 : A$=A$+Chr$(3)
If S=84 and K=0 and P<>0 Then P=0 : A$=A$+Chr$(4)
If S=85 and K=0 and P<>1 Then P=1 : A$=A$+Chr$(5)
If S=86 and K=0 and P<>2 Then P=2 : A$=A$+Chr$(6)
If S=87 and K=0 and P<>3 Then P=3 : A$=A$+Chr$(7)
If S=88 and K=0 Then A$=A$+Chr$(9)
If S=89 and K=0 Then A$=A$+Chr$(10)
If S=80 and K and W<>1 Then W=1 : A$=A$+Chr$(14)
If S=81 and K and W<>2 Then W=2 : A$=A$+Chr$(15)
If S=82 and K and W<>3 Then W=3 : A$=A$+Chr$(16)
If S=83 and K and W<>4 Then W=4 : A$=A$+Chr$(17)
If S=84 and K Then Cls : X=0 : Y=0 : A$=A$+Chr$(11)
If S=85 and K Then Gosub TEST
If S=86 and K Then Gosub LADEN
If S=87 and K Then Gosub SPEICHERN
If S=88 and K Then A$="" : X=0 : Y=0 : C=1 : W=4 : Cls
If S=89 and K Then Exit
If S=70 Then Locate X,Y : Paper P : Print " "; : A$=A$+Chr$(12)
If X>39 Then X=0 : Inc Y
If X<0 Then X=39 : If Y>0 Then Dec Y
If Y>30 Then Y=30 : For A=0 To 3 : Scroll 1 : Wait Vbl : Next
Sprite 1,X*8+128,Y*8+50,1
Loop
Sprite Off
Screen Close 0 : Screen Close 1
End
LADEN:
Show : F$=Fsel$("*.txt","Test.txt","Load a Textfile") : Hide
If F$="" Then Return
If Exist(F$)=0 Then Return
Cls : X=0 : Y=0 : C=1 : W=4
Open In 1,F$ : A$=Input$(1,Lof(1)) : Close 1
Gosub AUFBAUEN
Return
SPEICHERN:
Show : F$=Fsel$("*.txt","Test.txt","Save a Textfile") : Hide
If F$="" Then Return
If Len(F$)=Len(F$-".txt") Then F$=F$+".txt"
Open Out 1,F$ : Print #1,A$; : Close 1
Return
TEST:
XA=X : YA=Y : PA=P : CA=C : WA=W
Screen Open 2,320,256,4,0
Curs Off : Pen 1 : Paper 0 : Cls
Screen Display 2,,50,,
Flash 19,"(FFF,6)(EEE,3)(DDD,3)(CCC,3)(BBB,3)(AAA,3)(999,3)(888,6)(999,3)(AAA,3)(BBB,3)(CCC,3)(DDD,3)(EEE,3)"
X=0 : Y=0 : C=1 : P=0 : W=4
Sprite 1,X*8+128,Y*8+42,2
Palette 0,$FFF,$F0 : Colour 19,$FFF
For A=1 To Len(A$)
I$=Mid$(A$,A,1) : I=Asc(I$)
If I$=>" " Then Locate X,Y : Paper P : Pen C : Print I$; : Inc X
If Asc(I$)=8 Then Locate X,Y : Paper P : Print " "; : Dec X
If Asc(I$)=13 Then X=0 : Inc Y
If I$=Cup$ and Y>0 Then Dec Y
If I$=Cdown$ Then Inc Y
If I$=Cleft$ Then Dec X
If I$=Cright$ Then Inc X
If I=0 Then C=0
If I=1 Then C=1
If I=2 Then C=2
If I=3 Then C=3
If I=4 Then P=0
If I=5 Then P=1
If I=6 Then P=2
If I=7 Then P=3
If I=9 Then Wait W*10
If I=10 Then Repeat : Until Inkey$="" : Repeat : Until Inkey$=" "
If I=11 Then Cls : X=0 : Y=0
If I=12 Then Locate X,Y : Paper P : Print " ";
If I=14 Then W=1
If I=15 Then W=2
If I=16 Then W=3
If I=17 Then W=4
If X>39 Then X=0 : Inc Y
If X<0 Then X=39 : If Y>0 Then Dec Y
D=W
If Y>30 Then Y=30 : For B=0 To 3 : Scroll 1 : Wait Vbl : Next : D=0
If Key Shift Then D=0
Sprite 1,X*8+128,Y*8+50,2
If D>0 Then Wait D
I$=Inkey$ : If I$=Chr$(27) Then Exit
Next
Repeat : Until Inkey$="" : Repeat : Until Inkey$=" "
Screen Close 2 : X=XA : Y=YA : P=PA : C=CA : W=WA
Return
AUFBAUEN:
For A=1 To Len(A$)
I$=Mid$(A$,A,1) : I=Asc(I$)
If I$=>" " Then Locate X,Y : Paper P : Pen C : Print I$; : Inc X
If Asc(I$)=8 Then Locate X,Y : Paper P : Print " "; : Dec X
If Asc(I$)=13 Then X=0 : Inc Y
If I$=Cup$ and Y>0 Then Dec Y
If I$=Cdown$ Then Inc Y
If I$=Cleft$ Then Dec X
If I$=Cright$ Then Inc X
If I=0 Then C=0
If I=1 Then C=1
If I=2 Then C=2
If I=3 Then C=3
If I=4 Then P=0
If I=5 Then P=1
If I=6 Then P=2
If I=7 Then P=3
If I=11 Then Cls : X=0 : Y=0
If I=12 Then Locate X,Y : Paper P : Print " ";
If X>39 Then X=0 : Inc Y
If X<0 Then X=39 : If Y>0 Then Dec Y
If Y>30 Then Y=30 : For B=0 To 3 : Scroll 1 : Next
Sprite 1,X*8+128,Y*8+50,2
Next
Return